//package com.yksj.healthtalk.ui.chatting;
//
//import java.io.File;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.LinkedHashMap;
//import java.util.List;
//import java.util.Map;
//
//import org.json.JSONArray;
//import org.json.JSONException;
//import org.json.JSONObject;
//import org.universalimageloader.utils.StorageUtils;
//
//import android.content.Intent;
//import android.net.Uri;
//import android.os.Bundle;
//import android.support.v4.app.Fragment;
//import android.support.v4.app.FragmentManager;
//import android.support.v4.app.FragmentTransaction;
//import android.support.v4.app.ListFragment;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.widget.BaseAdapter;
//import android.widget.CheckBox;
//import android.widget.ImageView;
//import android.widget.ListView;
//import android.widget.RadioGroup;
//import android.widget.TextView;
//
//import com.yksj.healthtalk.comm.BaseFragmentActivity;
//import com.yksj.healthtalk.comm.LodingFragmentDialog;
//import com.yksj.healthtalk.comm.SalonFileBuyDialog;
//import com.yksj.healthtalk.net.http.AsyncHttpResponseHandler;
//import com.yksj.healthtalk.net.http.FileDownHttpResponseHandler;
//import com.yksj.healthtalk.net.http.HttpRestClient;
//import com.yksj.healthtalk.net.http.ObjectHttpResponseHandler;
//import com.yksj.healthtalk.ui.R;
//import com.yksj.healthtalk.utils.ToastUtil;
//
//
///**
// * 
// * 群文件查阅
// * @author zhao
// * 
// */
//public class DocumentsChatActivity extends BaseFragmentActivity implements OnClickListener{
//	
//	Map<Integer,Fragment> mFragmentMap = new LinkedHashMap<Integer, Fragment>();
//	Map<Integer,List<JSONObject>> mData;
//	int mCurrentCheckedId;
//	String mGroupId;
//	String mUserId;
//	JSONObject mCurentSelectJsonObject;
//	String[][] mMime;
//	
//	/**
//	 * 获取下载路径
//	 * @author zhao
//	 *
//	 */
//	class HttpResponseDownPathHandler extends AsyncHttpResponseHandler{
//		JSONObject mJsonObject;
//		public HttpResponseDownPathHandler(JSONObject content) {
//			mJsonObject = content;
//		}
//		@Override
//		public void onSuccess(int statusCode, String content) {
//			super.onSuccess(statusCode, content);
//			if(!isFinishing()){
//				if("N".equalsIgnoreCase(content)){//失败
//					onFailure(null,null);
//				}else if("H".equalsIgnoreCase(content)){//多美币不足
//					ToastUtil.showShort(getApplicationContext(),"多美币不足");
//				}else{//下载地址
//					try {
//						int payState = mJsonObject.getInt("isUploaded");
//						if(payState == 0)mJsonObject.put("isUploaded",0);
//						String path = mJsonObject.getString("filePath");
//						path = StorageUtils.getFileName(path);
//						HttpRestClient.doDownSalonFile(content,new FileDownHttpHandler(StorageUtils.getDownCachePath(),path));
//					} catch (JSONException e) {
//						e.printStackTrace();
//					}
//				}
//			}
//		}
//		
//		@Override
//		public void onFailure(Throwable error, String content) {
//			super.onFailure(error, content);
//			ToastUtil.showShort(getApplicationContext(),"下载失败");
//		}
//		@Override
//		public void onFinish() {
//			super.onFinish();
//		}
//	}
//	
//	class FileDownHttpHandler extends FileDownHttpResponseHandler{
//		LodingFragmentDialog mDialog;
//		@Override
//		public void onStart() {
//			super.onStart();
//			mDialog = LodingFragmentDialog.showLodingDialog(getSupportFragmentManager(),"文件下载中");
//		}
//		public FileDownHttpHandler(String filePath, String name) {
//			super(filePath, name);
//		}
//		@Override
//		public void onSuccess(int statusCode, byte[] binaryData) {
//			if(!isFinishing()){
//				onOpenFile(this.mFile);
//			}
//			super.onSuccess(statusCode, binaryData);
//		}
//		@Override
//		public void onFailure(Throwable error, byte[] binaryData) {
//			super.onFailure(error, binaryData);
//			ToastUtil.showShort(getApplicationContext(),"下载失败");
//		}
//		@Override
//		public void onFinish() {
//			super.onFinish();
//			mDialog.dismissAllowingStateLoss();
//		}
//	};
//	
//	@Override
//	protected void onCreate(Bundle arg0) {
//		super.onCreate(arg0);
//		setContentView(R.layout.chat_file_tab_layout);
//		Intent intent = getIntent();
//		mGroupId = intent.getStringExtra("groupId");//群id
//		mUserId = intent.getStringExtra("userId");
//		mGroupId = "29326";
//		mUserId = "26286";
//		
//		initView();
//		
//		initData();
//	}
//	
//	@Override
//	public void onClick(View v) {
//		switch(v.getId()){
//		case R.id.title_back:
//			onBackPressed();
//			break;
//		case R.id.ok://付费
//			onRequestDownFilePath(mCurentSelectJsonObject);
//			break;
//		}
//	}
//	
//	private void initView(){
//		initTitle();
//		titleLeftBtn.setOnClickListener(this);
//		RadioGroup radioGroup = (RadioGroup)findViewById(R.id.tab_group);
//		radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
//			@Override
//			public void onCheckedChanged(RadioGroup group, int checkedId) {
//				onChangeFragment(checkedId);
//			}
//		});
//		onChangeFragment(R.id.document_txt);
//	}
//	
//	private void initData(){
//		HttpRestClient.doHttpQuerySalonFile(mUserId,mGroupId,new ObjectHttpResponseHandler() {
//			LodingFragmentDialog mDialog;
//			@Override
//				public void onStart() {
//					super.onStart();
//					mDialog = LodingFragmentDialog.showLodingDialog(getSupportFragmentManager(),getResources());
//				}
//			@Override
//			public Object onParseResponse(String cotent) {
//				Map map = new HashMap();
//				List<JSONObject> list1 = new ArrayList<JSONObject>();
//				List<JSONObject> list2 = new ArrayList<JSONObject>();
//				List<JSONObject> list3 = new ArrayList<JSONObject>();
//				map.put(R.id.document_txt,list1);
//				map.put(R.id.document_vido,list2);
//				map.put(R.id.document_picture,list3);
//				try {
//					JSONArray jsonArray = new JSONArray(cotent);
//					for (int i = 0; i < jsonArray.length(); i++) {
//						JSONObject jsonObject = jsonArray.getJSONObject(i);
//						int type = jsonObject.getInt("fileTypes");
//						if(type == 1){
//							list1.add(jsonObject);
//						}else if(type == 2){
//							list3.add(jsonObject);
//						}else if(type == 3){
//							list2.add(jsonObject);
//						}
//					}
//				} catch (JSONException e) {
//					e.printStackTrace();
//				}
//				return map;
//			}
//			@Override
//			public void onSuccess(int statusCode, Object response) {
//				super.onSuccess(statusCode, response);
//				mData = (HashMap<Integer, List<JSONObject>>)response;
//				FileListFragment fragment = (FileListFragment)mFragmentMap.get(mCurrentCheckedId);
//				fragment.onDataUpdate();
//			}
//			public void onFinish() {
//				mDialog.dismissAllowingStateLoss();
//			};
//		});
//	}
//	
//	private void onChangeFragment(int type){
//		mCurrentCheckedId = type;
//		FragmentManager fg = getSupportFragmentManager();
//		FragmentTransaction ft = fg.beginTransaction();
//		Fragment fragment = fg.findFragmentById(R.id.fragmentcontent);
//		if(fragment != null){
//			ft.detach(fragment);
//		}
//		fragment = mFragmentMap.get(type);
//		if(fragment != null){
//			ft.attach(fragment);
//		}else{
//			Bundle bundle = new Bundle();
//			if(type == R.id.document_txt){
//				bundle.putInt("type",type);
//			}else if(type == R.id.document_picture){
//				bundle.putInt("type",type);
//			}/*else if(type == R.id.document_voice){
//				bundle.putInt("type",type);
//			}*/else if(type == R.id.document_vido){
//				bundle.putInt("type",type);
//			}
//			fragment = new FileListFragment();
//			fragment.setArguments(bundle);
//			mFragmentMap.put(type, fragment);
//			ft.add(R.id.fragmentcontent,fragment);
//		}
//		ft.commitAllowingStateLoss();
//	}
//	
//	/**
//	 * 打开文件
//	 */ 
//	private void onOpenFile(File file){
//		String type = getMIMEType(file);
//	    Intent intent = new Intent();
//	    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//	    //设置intent的Action属性
//	    intent.setAction(Intent.ACTION_VIEW);
//	    //设置intent的data和Type属性。
//	    intent.setDataAndType(Uri.fromFile(file),type);
//	    //跳转
//	    startActivity(intent);    
//	}
//	
//	/**
//	 * 获取文件mime
//	 */
//	private String getMIMEType(File file)
//	{
//	    String type="*/*";
//	    String fName=file.getName();
//	    //获取后缀名前的分隔符"."在fName中的位置。
//	    int dotIndex = fName.lastIndexOf(".");
//	    if(dotIndex < 0) return type;
//	    /* 获取文件的后缀名 */
//	    String end=fName.substring(dotIndex,fName.length()).toLowerCase();
//	    if(end=="")return type;
//	    //在MIME和文件类型的匹配表中找到对应的MIME类型。
//	    if(mMime == null)mMime = StorageUtils.getMIMEFile();
//	    for(int i=0;i<mMime.length;i++){
//	       if(end.equals(mMime[i][0]))type = mMime[i][1];
//	    }
//	    return type;
//	}
//	
//	
//	
//	public class FileListFragment extends ListFragment{
//		FileListAdapter mAdapter;
//		int mType;//类型
//		public FileListFragment() {
//			super();
//		}
//		@Override
//		public void onCreate(Bundle savedInstanceState) {
//			super.onCreate(savedInstanceState);
//			mType = getArguments().getInt("type");
//		}
//		
//		public void onDataUpdate(){
//			List<JSONObject> list = mData.get(mType);
//			setListAdapter(new FileListAdapter(getLayoutInflater(null),list,mType));
//		}
//		
//		@Override
//		public void onActivityCreated(Bundle savedInstanceState) {
//			super.onActivityCreated(savedInstanceState);
//			setListShownNoAnimation(true);
//			if(mData == null)return;
//			List<JSONObject> list = mData.get(mType);
//			setListAdapter(new FileListAdapter(getLayoutInflater(savedInstanceState),list,mType));
//		}
//		
//		@Override
//		public void onListItemClick(ListView l, View v, int position, long id) {
//			super.onListItemClick(l, v, position, id);
//			FileListAdapter adapter = (FileListAdapter)l.getAdapter();
//			JSONObject jsonObject = (JSONObject)adapter.getItem(position);
//			mCurentSelectJsonObject = jsonObject;
//			int money = adapter.getMoney(jsonObject);
//			if(adapter.getPayState(jsonObject) == 0){//未付费
//				SalonFileBuyDialog.showDialog(getSupportFragmentManager(),String.valueOf(money),DocumentsChatActivity.this);
//			}else{//已经付费
//				String path = adapter.getFilePath(jsonObject);
//				String name = StorageUtils.getFileName(path);
//				path = StorageUtils.getDownCachePath();
//				File file = new File(path,name);//查看文件是否存在
//				if(file.exists()){//文件存在就打开
//					onOpenFile(file);
//				}else{//否则下载
//					onRequestDownFilePath(jsonObject);
//				}
//			}
//		}
//	}
//	
//	/**
//	 * 
//	 * 请求文件下载路径
//	 * @param jsonObject
//	 * 
//	 */
//	private void onRequestDownFilePath(JSONObject jsonObject){
//		String fileId;
//		try {
//			fileId = jsonObject.getString("fileID");
//			HttpRestClient.doHttpDownloadGroupFile(mUserId,mGroupId,fileId,new HttpResponseDownPathHandler(mCurentSelectJsonObject));
//		} catch (JSONException e) {
//			e.printStackTrace();
//		}
//	}
//	
//	public class FileListAdapter extends BaseAdapter{
//		final LayoutInflater mInflater;
//		List<JSONObject> mList;
//		int mType;
//		
//		public FileListAdapter(LayoutInflater inflater,List<JSONObject> list,int type) {
//			this.mInflater = inflater;
//			this.mList = list;
//			this.mType = type;
//		}
//		
//		@Override
//		public int getCount() {
//			return mList.size();
//		}
//
//		@Override
//		public JSONObject getItem(int position) {
//			return mList.get(position);
//		}
//
//		@Override
//		public long getItemId(int position) {
//			return position;
//		}
//		
//		public int getMoney(JSONObject object){
//			try {
//				return object.getInt("chargingStandards");
//			} catch (JSONException e) {
//				e.printStackTrace();
//			}
//			return 0;
//		}
//		
//		public int getPayState(JSONObject object){//是否已经付费1付费,0未付费
//			try {
//				return object.getInt("isUploaded");
//			} catch (JSONException e) {
//				e.printStackTrace();
//			}
//			return 1;
//		}
//		
//		public String getFileDesc(JSONObject object){
//			try {
//				return object.getString("fileDesc");
//			} catch (JSONException e) {
//				e.printStackTrace();
//			}
//			return "";
//		}
//		
//		public String getFileName(JSONObject object){
//			try {
//				return object.getString("fileName");
//			} catch (JSONException e) {
//				e.printStackTrace();
//			}
//			return "";
//		}
//
//		public String getFilePath(JSONObject object){
//			try {
//				return object.getString("filePath");
//			} catch (JSONException e) {
//				e.printStackTrace();
//			}
//			return "";
//		}
//		
//		/**
//		 * 获得文件类型
//		 * @param jsonObject
//		 * @return
//		 */
//		public String getFileType(JSONObject jsonObject){
//			String name = jsonObject.optString("filePath","");
//			int index = name.lastIndexOf(".");
//			if(index > -1){ 
//				name = name.substring(index+1,name.length());
//			}
//			return name;
//		}
//		
//		private void setImageIcon(ImageView imageView,String type){
//			if(mType == R.id.document_txt){
//				if(type == null){
//					imageView.setImageResource(R.drawable.document_file_icon);
//				}else if("pdf".equals(type)){
//					imageView.setImageResource(R.drawable.document_salon_pdf);
//				}else if("ppt".equals(type)){
//					imageView.setImageResource(R.drawable.document_salon_word2);
//				}else if("excel".equals(type)){
//					imageView.setImageResource(R.drawable.document_salon_excel);
//				}else{
//					imageView.setImageResource(R.drawable.document_file_icon);
//				}
//			}else if(mType == R.id.document_picture){
//				imageView.setImageResource(R.drawable.document_photo_icon);
//			}/*else if(mType == R.id.document_voice){
//				imageView.setImageResource(R.drawable.document_sound_icon);
//			}*/else if(mType == R.id.document_vido){
//				imageView.setImageResource(R.drawable.document_salon_vrdeo);
//			}
//		}
//		
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			ViewHolder holder;
//			final JSONObject jsonObject = getItem(position);
//			if(convertView == null){
//				holder = new ViewHolder();
//				convertView = mInflater.inflate(R.layout.file_list_item,null);
//				holder.nameTextV = (TextView)convertView.findViewById(R.id.name_txt);
//				holder.noteTextV = (TextView)convertView.findViewById(R.id.note);
//				holder.moneyBox = (CheckBox)convertView.findViewById(R.id.money);
//				holder.timeTextV = (TextView)convertView.findViewById(R.id.time_txt);
//				holder.iconImageV = (ImageView)convertView.findViewById(R.id.icon_img);
//				convertView.setTag(holder);
//			}else{
//				holder = (ViewHolder)convertView.getTag();
//			}
//			
//			holder.nameTextV.setText(getFileName(jsonObject));
//			holder.moneyBox.setText(String.valueOf(getMoney(jsonObject)));
//			boolean isPay = getPayState(jsonObject) == 0?false:true;
//			holder.moneyBox.setChecked(isPay);
//			setImageIcon(holder.iconImageV,getFileType(jsonObject));
//			return convertView;
//		}
//	}
//	
//	static class ViewHolder{
//		ImageView iconImageV;
//		TextView nameTextV;
//		TextView timeTextV;
//		TextView noteTextV;
//		CheckBox moneyBox;
//	}
//	
//}
